// pages/home/home.js
import { request } from '../../utils/request'

Page({

  /**
   * 页面的初始数据
   */
  data: {
    swipers: [], // 轮播图列表
    menus: [], // 菜单列表
    goodsList: [], // 商品列表
    page: 1, // 页码
    pageSize: 10, // 页容量
    hasMore: true
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getSwiperData()
    this.getMenuData()
    this.getGoodsListData()
  },
  // 获取轮播图数据
  async getSwiperData() {
    const res = await request({url: 'banner/list'})
    this.setData({
      swipers: res.data
    })
    // console.log('---res---',res)
    /**
    wx.request({
      url: 'http://huangjiangjun.top:3001/api/banner/list',
      success: (res) => {
        this.setData({
          swipers: res.data.data
        },() => {
          // 这个函数相当于是setData执行完成之后的，回调函数
          // 我们如果想要在 setData 做完事情之后，再去获取数据，最好写在他的第二个参数中
          console.log('---res---',this.data.swipers)
        })
      }
    })
     */
  },
  // 获取菜单列表数据
  async getMenuData() {
    /** 
    wx.request({
      url: 'http://huangjiangjun.top:3001/api/menu/list',
      success: (res) => {
        this.setData({
          menus: res.data.data
        })
      }
    })
    */
   const res = await request({url:'menu/list'})
   this.setData({
     menus: res.data
   })
  },
  async getGoodsListData() {
    const res = await request({
      url: 'pro/list',
      data: {
        count: this.data.page,
        limitNum: this.data.pageSize
      }
    })

    // 停止掉下刷刷新的效果
    wx.stopPullDownRefresh()

    this.setData({
      hasMore: res.data.length > 0
    })

    this.setData({
      goodsList: [...this.data.goodsList,...res.data]
    })
  },
  // 上拉加载更多
  onReachBottom() {
    if (!this.data.hasMore) return

    this.data.page++
    this.getGoodsListData()
  },
  // 下拉刷新
  onPullDownRefresh() {
    // 页码重置为1
    this.data.page = 1
    // 把内容清空
    this.setData({
      goodsList: []
    })
    
    this.getGoodsListData()
  },
  goToDetail(e) {
    // console.log(e.currentTarget)
    wx.navigateTo({
      url: '/subpkg/goods-detail/goods-detail?proid='+e.currentTarget.dataset.proid
    })
  },
  onShow() {
    // 还是根据token来判断是否登录了
    const token = wx.getStorageSync('token')
    wx.setTabBarItem({
      index: 3,
      text: token ? '我的' : '未登录'
    })

    /** 
    wx.getStorage({
      key: 'token',
      success: res => {
        wx.setTabBarItem({
          index: 3,
          text: "我的"
        })
      },
      fail: () => {
        wx.setTabBarItem({
          index: 3,
          text: "未登录"
        })
      }
    })
    */
  }
})